#pragma once
#include "feDefs.h"

namespace feInterpolation
{
	inline double QuadBasis1(double iX1, double iX2, double iX3, double iX);
	inline double QuadBasis2(double iX1, double iX2, double iX3, double iX);
	inline double QuadBasis3(double iX1, double iX2, double iX3, double iX);

	inline double LinearBasis1(double iX1, double iX2, double iX);
	inline double LinearBasis2(double iX1, double iX2, double iX);

	inline double QuadBasisDeriv1(double iX1, double iX2, double iX3, double iX);
	inline double QuadBasisDeriv2(double iX1, double iX2, double iX3, double iX);
	inline double QuadBasisDeriv3(double iX1, double iX2, double iX3, double iX);

	double Quadratic(double iXs[3], double iFs[3], double iX);
	double QuadDeriv(double iXs[3], double iFs[3], double iX);
	double Linear(double iXs[2], double iFs[2], double iX);
	double LinDeriv(double iXs[2], double iFs[2], double iX);
};
